[t:/]$ 지식_

cuda was

2023/03/22

CPU를 극한으로 뽑아먹는것을 좋아하는 관계로 1 요청 1 CPU 풀로드 api 서버를 하나 만들었다. 이 업무 자체가 컴퓨팅쪽이라 CPU를 많이 쓴다.

따라서 CPU 풀로드가 10ms라고 치면 1 코어에 대해 대충 100 TPS가 보장된다. 그런데 연산 시간이 긴 놈이 있어서 1초를 먹는다치면 1초 동안 http 요청에 지연이 발생한다. 코어를 죄다 점유하므로 비동기고 뭐고로 풀릴 일이 아니다. 비동기로 "손꾸락 빨면서 기다리세요" 라고 즉시 응답은 가능 ㅋㅋㅋ

4코어 머신으로 치면 1초 풀로드 4 TPS가 된다. 5번째 요청부터는 그냥 1초 지연이다.

4코어 머신 * 4대로 치면 1초 풀로드 요청시 16TPS가 된다. 풀로드 요청의 피크 확률을 계산하면 그냥 쓸만한 시스템일 수도 있지만 사람이 하는 일이 꼭 꼬일 때 꼬인다.

이럴 때 was에 cuda가 있다면 바로 풀릴 수 있다. 1초 응답 풀로드가 있어도 대충 3000 cuda 코어에서 3000개까지 받아준다. 이 상황까지 오면 이제는 메모리 대역폭, 디스크 대역폭, 캐시 힛팅률이 지연을 결정한다.

cuda 다 까먹었는데 cuda 플밍 하고 싶다.. 프로파일 찍어놓고 뭐 고쳤더니 20배 향상 뭐 이런거 나오면 젤다 보다 재밌는데..





공유하기













[t:/] is not "technology - root". dawnsea, rss